<?php
namespace Admin\Controller;
use Think\Controller;
class BannerController extends CommonController {

   // var_dump($this->Model);die;

    //开始应用动态的实例化：$this->Model

   /**
    * 添加广告
    *
    * @return void
    * @author
    **/
   function add_banner()
   {
        if (IS_POST) {
            //图片上传
            if (!empty($_FILES['file'])) {//先判断有没有图片上传，如果有，则上传图片
                $upload = new \Think\Upload();// 实例化上传类
                $upload->maxSize   =     3145728 ;// 设置附件上传大小
                $upload->exts   =   array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

                $upload->savePath  = 'banner/'; // 设置附件上传目录

                $info   =   $upload->uploadOne($_FILES['file']);

                if(!$info) {
                    $this->error($upload->getError());
                }else{
                   $_POST['pic']='./Uploads/'.$info['savepath'].$info['savename'];
                }
            }

            $id=$this->Model->add(I('post.'));
            // print_r(I('post.'));die;

            if ($id>0) {
               $this->success('添加成功',U('Admin/banner/lists'),2);die;
           }else{
                 $this->success('添加失败','',2);die;
           }
        }


        //查询所有广告位置，放在添加页面，在进行广告添加的时候选择
        $list=D('banner_point')->select();
        $this->assign('list',$list);
        $this->display();
   }


   /**
    * 广告列表
    *
    * @return void
    * @author
    **/
   function lists()
   {
        // $list=$this->Model->select();
        // $this->assign('list',$list);
        // $this->display();

        // $count=$this->Model->count();//查询满足要求的总记录数

        //模型层使用
        $count=$this->Model->relation(true)->count();//查询满足要求的总记录数

        //在进行关联查询的时候，也要在这里加语句，保证页码和页数的准确性
        // $count=$this->Model->join('my_banner_point on my_banner_point.id=my_banner.point_id')->count();//查询满足要求的总记录数


        $Page=new \Think\Page($count,3);//实例化分页类,传入总记录数和每页显示的记录数(1)

        $Page->setConfig('prev','上一页');//上一页
        $Page->setConfig('last','尾页');//尾页

        $show=$Page->show();// 输出分页显示

        // $list = $this->Model->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();

        //模型层使用：查询出来的结果是一个二维数组
        //使用关联模型，必须使用：relation(true)
        $list = $this->Model->relation(true)->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();


        //关联查询
        // $list = $this->Model->join('my_banner_point on my_banner_point.id=my_banner.point_id')->order('my_banner.id desc')->limit($Page->firstRow.','.$Page->listRows)->select();

        //过滤条件
        // $list = $this->Model->field('my_banner.*,my_banner_point.name')->join('my_banner_point on my_banner_point.id=my_banner.point_id')->order('my_banner.id desc')->limit($Page->firstRow.','.$Page->listRows)->select();

        // print_r($list);die;

        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出
        $this->display(); // 输出模板


   }



















    /**
     * 广告位添加
     *
     * @return void
     * @author
     **/
    function add_point()
    {
        // print_r(I('post.'));die;
        if (IS_POST) {
            $_POST['up_time']=strtotime(I('post.up_time'),0);//字符串时间转成时间戳
            $_POST['down_time']=strtotime(I('post.down_time'),0);//字符串时间转成时间戳

            //因为$this->Model在这里是针对banner的，因此banner_point表需要实例化
           $id=D('banner_point')->add(I('post.'));
           if ($id>0) {
               $this->success('添加成功',U('Admin/banner/point_list'),2);die;
           }else{
                 $this->success('添加失败','',2);die;
           }
        }
        $this->display();
    }

    /**
     * 广告位列表
     *
     * @return void
     * @author
     **/
    function point_list()
    {

        $count=D('banner_point')->count();//查询满足要求的总记录数
        $Page=new \Think\Page($count,3);//实例化分页类,传入总记录数和每页显示的记录数(1)

        $Page->setConfig('prev','上一页');//上一页
        $Page->setConfig('last','尾页');//尾页

        $show=$Page->show();// 输出分页显示
        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = D('banner_point')->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();



        $this->assign('list',$list);// 赋值数据集
           // print_r($list);die;
        $this->assign('page',$show);// 赋值分页输出
        $this->display(); // 输出模板

    }
}